package net.ericaro.neojavagen.expressions;

/**
 * <b>Assignment</b> ::= <{@link net .ericaro .neojavagen .expressions .LeftHandSide LeftHandSide}> <
 * {@link net .ericaro .neojavagen .expressions .AssignmentOperator AssignmentOperator}> <{@link net .ericaro .neojavagen .expressions .AssignmentExpression
 * AssignmentExpression}>
 * 
 * @author eric@ericaro.net
 */
public class Assignment extends net.ericaro.neojavagen.JavaPartComposition implements net.ericaro.neojavagen.expressions.AssignmentExpression, net.ericaro.neojavagen.blocks.StatementExpression {
	private net.ericaro.neojavagen.expressions.AssignmentExpression assignmentExpression;

	private net.ericaro.neojavagen.expressions.AssignmentOperator assignmentOperator;

	private net.ericaro.neojavagen.expressions.LeftHandSide leftHandSide;

	public Assignment(net.ericaro.neojavagen.expressions.LeftHandSide leftHandSide, net.ericaro.neojavagen.expressions.AssignmentOperator assignmentOperator, net.ericaro.neojavagen.expressions.AssignmentExpression assignmentExpression) {
		super();
		this.leftHandSide = leftHandSide;
		this.assignmentOperator = assignmentOperator;
		this.assignmentExpression = assignmentExpression;
	}

	public net.ericaro.neojavagen.expressions.AssignmentExpression getAssignmentExpression() {
		return assignmentExpression;
	}

	public net.ericaro.neojavagen.expressions.AssignmentOperator getAssignmentOperator() {
		return assignmentOperator;
	}

	public net.ericaro.neojavagen.expressions.LeftHandSide getLeftHandSide() {
		return leftHandSide;
	}

	public void setAssignmentExpression(net.ericaro.neojavagen.expressions.AssignmentExpression assignmentExpression) {
		this.assignmentExpression = assignmentExpression;
	}

	public void setAssignmentOperator(net.ericaro.neojavagen.expressions.AssignmentOperator assignmentOperator) {
		this.assignmentOperator = assignmentOperator;
	}

	public void setLeftHandSide(net.ericaro.neojavagen.expressions.LeftHandSide leftHandSide) {
		this.leftHandSide = leftHandSide;
	}

	@Override
	public java.lang.String toString() {
		return print(leftHandSide, assignmentOperator, assignmentExpression);
	}
}
